package com.foton.designmodel.proxy.impl;


import com.foton.designmodel.proxy.SystemFileManageApi;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.FileOutputStream;

/**
 *  Fastdfs本地文件存储。针对小文件
 *
 *  图片文件，后缀为：jpg,png等
 *
 */
@Component("fastdfsFileManage")
public class FastdfsFileManageImpl implements SystemFileManageApi {


    @Value("${fastdfs.dir}")
    private  String fastdfsPath;



    @Override
    public String upload(byte[] fileBytes, String fileExtensionName) {

        String storePath;

        try {
           storePath = fastdfsPath+fileExtensionName;
            File targetFile = new File(storePath);
            // 如果目录不存在，则创建
            if (!targetFile.getParentFile().exists()) {
                targetFile.getParentFile().mkdirs();
            }
            try(FileOutputStream fos = new FileOutputStream(targetFile)){
                fos.write(fileBytes);
            }
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        return storePath;
    }
}
